home *** CD-ROM | disk | FTP | other *** search
- //: C11:Linenum.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Add line numbers
- #include "../require.h"
- #include <fstream>
- #include <strstream>
- #include <cstdlib>
- using namespace std;
-
- int main(int argc, char* argv[]) {
- requireArgs(argc, 1, "Usage: linenum file\n"
- "Adds line numbers to file");
- strstream text;
- {
- ifstream in(argv[1]);
- assure(in, argv[1]);
- text << in.rdbuf(); // Read in whole file
- } // Close file
- ofstream out(argv[1]); // Overwrite file
- assure(out, argv[1]);
- const int bsz = 100;
- char buf[bsz];
- int line = 0;
- while(text.getline(buf, bsz)) {
- out.setf(ios::right, ios::adjustfield);
- out.width(2);
- out << ++line << ") " << buf << endl;
- }
- } ///:~
-